import request from './request' // 假设你已经配置了axios实例

/**
 * 预约信息相关接口服务
 */
export default {
  /**
   * 获取预约列表或单个预约详情
   * @param {Object} params - 查询参数
   * @param {String} recordId - 预约记录ID（可选）
   * @returns {Promise}
   */
  getAppointment(params = {}, recordId = '') {
    return request({
      url: recordId ? `/api/appointmentInfo/${recordId}` : '/api/appointmentInfo',
      method: 'get',
      params
    })
  },

  /**
   * 创建预约
   * @param {Object} data - 预约数据
   * @param {Boolean} isBatch - 是否批量创建
   * @returns {Promise}
   */
  createAppointment(data, isBatch = false) {
    const postData = isBatch ? { AppointmentInfoList: JSON.stringify(data) } : data
    return request({
      url: '/api/appointmentInfo',
      method: 'post',
      data: postData
    })
  },

  /**
   * 更新预约基本信息
   * @param {String} recordId - 预约记录ID
   * @param {Object} data - 更新数据
   * @returns {Promise}
   */
  updateAppointment(recordId, data) {
    return request({
      url: `/api/appointmentInfo/${recordId}`,
      method: 'put',
      data
    })
  },

  /**
   * 更新预约敏感信息（预约状态等）
   * @param {String} recordId - 预约记录ID
   * @param {Object} data - 更新数据
   * @returns {Promise}
   */
  updateSensitiveInfo(recordId, data) {
    return request({
      url: `/api/appointmentinfo/update/${recordId}`,
      method: 'put',
      data
    })
  },

  /**
   * 删除预约
   * @param {String} recordId - 预约记录ID
   * @returns {Promise}
   */
  deleteAppointment(recordId) {
    return request({
      url: `/api/appointmentInfo/${recordId}`,
      method: 'delete'
    })
  }
}
